package scraping;

import org.jsoup.Connection;
import org.jsoup.Jsoup;

import utils.Filter;
import webService.Service1;
import classificazione.Classificatore;

public class JsoupParser implements Parser{
	
	Classificatore classificator;
	Filter filter;
	Service1 service;
	
	public JsoupParser(Classificatore classifcator){
		this.classificator = classifcator;
		this.filter = new Filter();
		this.service = new Service1();
	}
	
	public void parse(String message){
		try {
			if(filter.filterContent(message)){
				Connection.Response res = Jsoup.connect(message).timeout(10*1000).execute();
				if(res.contentType().contains("text/html")){
					//Viene richiamato il Web Service SOAP offerto dal sito texise che permette di rimuovere ogni tipo di script da una pagina web, prendendone solo il testo
					String text = Jsoup.parse(this.service.getService1Soap().stripHTML(message, 0)).body().text();
					if(!text.equals("")){
						System.out.println("URL cliccato: "+message);
						System.out.println("Contenuto dell'URL: "+text);
						this.classificator.searchSimilar(text);
					}
				}
			}
		} catch (Exception e) {
		}
	}

}
